package com.smart.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;


/**
 * 门店
 * 
 * @author zhouwc
 * @email zhouwenchao@smart.net.cn
 * @date 2019-07-29 13:25:22
 */
@Data
public class 	ShopInfoDO implements Serializable {
	private static final long serialVersionUID = 1L;
	
	//ID
	private Integer shopId;
	//门店编号
	private String shopNum;
	//所属平台
	private Integer platId;
	//所属商户
	private Integer merchantId;
	//关联油站
	private String station;
	//门店名称
	private String shopName;
	//所属省
	private String provinceNum;
	//所属市
	private String cityNum;
	//地址
	private String shopAddr;
	//坐标经度
	private String latValue;
	//坐标纬度
	private String lonValue;
	//冻结0,正常1
	private Integer shopFlag;
	//创建人
	private String createBy;
	//创建时间
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-hh HH:mm:ss")
	private Date createTime;
	//修改人
	private String updateBy;
	//修改时间
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-hh HH:mm:ss")
	private Date updateTime;
	//备注
	private String remark;
	//乐观锁
	private Integer version;
	//营业时间开始
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-hh HH:mm:ss")
	private Date businessHoursS;
	//营业时间结束
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-hh HH:mm:ss")
	private Date businessHoursE;
	//人均价格
	private Integer perPersonPrice;
	//商户logo地址
	private String logoUrl;
	//微信OpenID
	private String wxOpenId;
	//微信头像
	private String headimg;
	//门店管理人手机号
	private String phone;
	//门店管理人姓名
	private String uname;
	private String platName;


	//是否删除 1是，0否
	private Integer delFlag;


	public Integer getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}

	public String getPlatName() {
		return platName;
	}

	public void setPlatName(String platName) {
		this.platName = platName;
	}

	private String merchantName;

	public String getMerchantName() {
		return merchantName;
	}

	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public Integer getShopId() {
		return shopId;
	}

	public void setShopId(Integer shopId) {
		this.shopId = shopId;
	}

	public String getShopNum() {
		return shopNum;
	}

	public void setShopNum(String shopNum) {
		this.shopNum = shopNum;
	}

	public Integer getPlatId() {
		return platId;
	}

	public void setPlatId(Integer platId) {
		this.platId = platId;
	}

	public Integer getMerchantId() {
		return merchantId;
	}

	public void setMerchantId(Integer merchantId) {
		this.merchantId = merchantId;
	}

	public String getStation() {
		return station;
	}

	public void setStation(String station) {
		this.station = station;
	}

	public String getShopName() {
		return shopName;
	}

	public void setShopName(String shopName) {
		this.shopName = shopName;
	}

	public String getProvinceNum() {
		return provinceNum;
	}

	public void setProvinceNum(String provinceNum) {
		this.provinceNum = provinceNum;
	}

	public String getCityNum() {
		return cityNum;
	}

	public void setCityNum(String cityNum) {
		this.cityNum = cityNum;
	}

	public String getShopAddr() {
		return shopAddr;
	}

	public void setShopAddr(String shopAddr) {
		this.shopAddr = shopAddr;
	}

	public String getLatValue() {
		return latValue;
	}

	public void setLatValue(String latValue) {
		this.latValue = latValue;
	}

	public String getLonValue() {
		return lonValue;
	}

	public void setLonValue(String lonValue) {
		this.lonValue = lonValue;
	}

	public Integer getShopFlag() {
		return shopFlag;
	}

	public void setShopFlag(Integer shopFlag) {
		this.shopFlag = shopFlag;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}

	public Date getBusinessHoursS() {
		return businessHoursS;
	}

	public void setBusinessHoursS(Date businessHoursS) {
		this.businessHoursS = businessHoursS;
	}

	public Date getBusinessHoursE() {
		return businessHoursE;
	}

	public void setBusinessHoursE(Date businessHoursE) {
		this.businessHoursE = businessHoursE;
	}

	public Integer getPerPersonPrice() {
		return perPersonPrice;
	}

	public void setPerPersonPrice(Integer perPersonPrice) {
		this.perPersonPrice = perPersonPrice;
	}

	public String getLogoUrl() {
		return logoUrl;
	}

	public void setLogoUrl(String logoUrl) {
		this.logoUrl = logoUrl;
	}

	public String getWxOpenId() {
		return wxOpenId;
	}

	public void setWxOpenId(String wxOpenId) {
		this.wxOpenId = wxOpenId;
	}

	public String getHeadimg() {
		return headimg;
	}

	public void setHeadimg(String headimg) {
		this.headimg = headimg;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getUname() {
		return uname;
	}

	public void setUname(String uname) {
		this.uname = uname;
	}

	@Override
	public String toString() {
		return "ShopInfoDO{" +
				"shopId=" + shopId +
				", shopNum='" + shopNum + '\'' +
				", platId=" + platId +
				", merchantId=" + merchantId +
				", station='" + station + '\'' +
				", shopName='" + shopName + '\'' +
				", provinceNum='" + provinceNum + '\'' +
				", cityNum='" + cityNum + '\'' +
				", shopAddr='" + shopAddr + '\'' +
				", latValue='" + latValue + '\'' +
				", lonValue='" + lonValue + '\'' +
				", shopFlag=" + shopFlag +
				", createBy='" + createBy + '\'' +
				", createTime=" + createTime +
				", updateBy='" + updateBy + '\'' +
				", updateTime=" + updateTime +
				", remark='" + remark + '\'' +
				", version=" + version +
				", businessHoursS=" + businessHoursS +
				", businessHoursE=" + businessHoursE +
				", perPersonPrice=" + perPersonPrice +
				", logoUrl='" + logoUrl + '\'' +
				", wxOpenId='" + wxOpenId + '\'' +
				", headimg='" + headimg + '\'' +
				", phone='" + phone + '\'' +
				", uname='" + uname + '\'' +
				'}';
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		ShopInfoDO that = (ShopInfoDO) o;
		return Objects.equals(shopId, that.shopId) &&
				Objects.equals(shopNum, that.shopNum) &&
				Objects.equals(platId, that.platId) &&
				Objects.equals(merchantId, that.merchantId) &&
				Objects.equals(station, that.station) &&
				Objects.equals(shopName, that.shopName) &&
				Objects.equals(provinceNum, that.provinceNum) &&
				Objects.equals(cityNum, that.cityNum) &&
				Objects.equals(shopAddr, that.shopAddr) &&
				Objects.equals(latValue, that.latValue) &&
				Objects.equals(lonValue, that.lonValue) &&
				Objects.equals(shopFlag, that.shopFlag) &&
				Objects.equals(createBy, that.createBy) &&
				Objects.equals(createTime, that.createTime) &&
				Objects.equals(updateBy, that.updateBy) &&
				Objects.equals(updateTime, that.updateTime) &&
				Objects.equals(remark, that.remark) &&
				Objects.equals(version, that.version) &&
				Objects.equals(businessHoursS, that.businessHoursS) &&
				Objects.equals(businessHoursE, that.businessHoursE) &&
				Objects.equals(perPersonPrice, that.perPersonPrice) &&
				Objects.equals(logoUrl, that.logoUrl) &&
				Objects.equals(wxOpenId, that.wxOpenId) &&
				Objects.equals(headimg, that.headimg) &&
				Objects.equals(phone, that.phone) &&
				Objects.equals(uname, that.uname);
	}

	@Override
	public int hashCode() {
		return Objects.hash(shopId, shopNum, platId, merchantId, station, shopName, provinceNum, cityNum, shopAddr, latValue, lonValue, shopFlag, createBy, createTime, updateBy, updateTime, remark, version, businessHoursS, businessHoursE, perPersonPrice, logoUrl, wxOpenId, headimg, phone, uname);
	}


	//	private String userName;
//
//	private String fileId;
}
